
# 事务操作
"""
主要应用场景 ： 在同时执行多条SQL语句，都是增删改的语句，要求必须是一致的。

commit() : 提交 ，就一次性将所有要执行的语句一起去执行
rollback()  : 回滚 ， 将执行的语句回滚到当前状态。
"""

# 1. 导包
import pymysql

# 2. 建立连接对象
connect = pymysql.connect(host='localhost',user='root',password='root',database='school',charset='utf8',autocommit=False)

print(connect)

# 3.  创建游标
cursor = connect.cursor()

# 4. 执行SQL语句
try:
    sql1 = "update students set age = 100 where name = '韩正'"
    raise Exception("特意抛出了一个异常")
    sql2 = "insert into students values(28,'李四',19,'男','2班',345678943,'天津','dd')"
    sql3 = "delete from students where name = '王伟'"
    cursor.execute(sql1)
    cursor.execute(sql2)
    cursor.execute(sql3)
    connect.commit()
except Exception as e:
    print("==============")
    connect.rollback()


# 5. 关闭游标
cursor.close()

# 6. 关闭连接对象
connect.close()